|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectga.core.individual.population.ArrayListPopulation<T>
T - The generic type of individuals.public class ArrayListPopulation<T extends IIndividual<T>>
Population implementation that uses an ArrayList.
| Field Summary | |
|---|---|
private boolean |
allowDuplicates
|
private IFitnessEvaluator<T> |
evaluator
|
private IIndividualFactory<T> |
factory
|
private int |
initIndividualCount
|
private IndividualList<T> |
pop
|
private java.util.Random |
rnd
|
| Constructor Summary | |
|---|---|
ArrayListPopulation(IIndividualFactory<T> factory,
int initIndividualCount)
Creates a new array list population. |
|
ArrayListPopulation(IIndividualFactory<T> factory,
int initIndividualCount,
boolean allowDuplicates)
Creates a new array list population. |
|
| Method Summary | |
|---|---|
void |
addIndividual(T individual)
Adds an individual to the population. |
void |
addIndividuals(IndividualList<T> individuals)
Adds individuals to the population. |
void |
addIndividuals(T... individuals)
Adds individuals to the population. |
void |
clear()
Clears the population. |
boolean |
containsAny(IndividualList<T> list)
Determine if one of the individuals is contained in this list. |
void |
evaluateAutomatic()
Evaluates all individiduals using the automatic evaluator. |
T |
getEliteIndividual()
Gets the elite individual, if elite strategy is used. |
int |
getEvaluatedIndividualCount()
Get the number of individuals that has been evaluated. |
T |
getFittestIndividual()
Gets the individual if the highest fitness. |
IndividualList<T> |
getIndividuals()
Getter for a list representation of the population. |
int |
getInitIndividualCount()
Get the number of initial individuals. |
T |
getRandomIndividualForEvaluation()
Randomly selects an individual to evaluate. |
T |
getRandomIndividualForSelection()
Randomly selects an individual to select. |
IndividualList<T> |
getUnevaluatedIndividuals()
Get all individuals that has not been evaluated yet. |
T |
getUnfittestIndividual()
Gets the individual if the lowest fitness. |
void |
initRandomly(IValidator<T> validator,
GAContext context)
Fill the population with random individuals. |
boolean |
isAllowDuplicates()
Determines if duplicates are allowed. |
boolean |
isEmpty()
Determines if the population is empty. |
java.util.Iterator<T> |
iterator()
|
void |
setEvaluator(IFitnessEvaluator<T> evaluator)
Sets the evaluator. |
void |
setInitIndividualCount(int individualCount)
Set the number of initial individuals. |
int |
size()
Returns the size of the population; the count of individuals. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private final IndividualList<T extends IIndividual<T>> pop
private final IIndividualFactory<T extends IIndividual<T>> factory
private IFitnessEvaluator<T extends IIndividual<T>> evaluator
private boolean allowDuplicates
private final java.util.Random rnd
private int initIndividualCount
| Constructor Detail |
|---|
public ArrayListPopulation(IIndividualFactory<T> factory,
int initIndividualCount)
factory - The individual factory.initIndividualCount - Init size of the population.
public ArrayListPopulation(IIndividualFactory<T> factory,
int initIndividualCount,
boolean allowDuplicates)
factory - The individual factory.initIndividualCount - Init size of the population.allowDuplicates - Allow duplicate individuals if true but prevent them
otherwise.| Method Detail |
|---|
public void setEvaluator(IFitnessEvaluator<T> evaluator)
IPopulation
setEvaluator in interface IPopulation<T extends IIndividual<T>>evaluator - The evaluator.
public void initRandomly(IValidator<T> validator,
GAContext context)
IPopulation
initRandomly in interface IPopulation<T extends IIndividual<T>>validator - The validator or null.context - The GA context.public IndividualList<T> getIndividuals()
IPopulation
getIndividuals in interface IPopulation<T extends IIndividual<T>>public void addIndividuals(T... individuals)
IPopulation
addIndividuals in interface IPopulation<T extends IIndividual<T>>individuals - Individuals to add.public void addIndividual(T individual)
IPopulation
addIndividual in interface IPopulation<T extends IIndividual<T>>individual - Individual to add.public void addIndividuals(IndividualList<T> individuals)
IPopulation
addIndividuals in interface IPopulation<T extends IIndividual<T>>individuals - Individuals to add.public void clear()
IPopulation
clear in interface IPopulation<T extends IIndividual<T>>public void evaluateAutomatic()
IPopulation
evaluateAutomatic in interface IPopulation<T extends IIndividual<T>>public java.lang.String toString()
toString in class java.lang.Objectpublic int size()
IPopulation
size in interface IPopulation<T extends IIndividual<T>>public T getUnfittestIndividual()
IPopulation
getUnfittestIndividual in interface IPopulation<T extends IIndividual<T>>public T getFittestIndividual()
IPopulation
getFittestIndividual in interface IPopulation<T extends IIndividual<T>>public T getEliteIndividual()
IPopulation
getEliteIndividual in interface IPopulation<T extends IIndividual<T>>null.public T getRandomIndividualForEvaluation()
IPopulation
getRandomIndividualForEvaluation in interface IPopulation<T extends IIndividual<T>>public T getRandomIndividualForSelection()
IPopulation
getRandomIndividualForSelection in interface IPopulation<T extends IIndividual<T>>public IndividualList<T> getUnevaluatedIndividuals()
IPopulation
getUnevaluatedIndividuals in interface IPopulation<T extends IIndividual<T>>public boolean isEmpty()
IPopulation
isEmpty in interface IPopulation<T extends IIndividual<T>>true if the population is empty.public boolean isAllowDuplicates()
IPopulation
isAllowDuplicates in interface IPopulation<T extends IIndividual<T>>true if duplicates are allowed.public int getEvaluatedIndividualCount()
IPopulation
getEvaluatedIndividualCount in interface IPopulation<T extends IIndividual<T>>public boolean containsAny(IndividualList<T> list)
IPopulation
containsAny in interface IPopulation<T extends IIndividual<T>>list - Individuals to look for.
true if this list contains any individual of the other
one.public java.util.Iterator<T> iterator()
iterator in interface IPopulation<T extends IIndividual<T>>iterator in interface java.lang.Iterable<T extends IIndividual<T>>public int getInitIndividualCount()
IPopulation
getInitIndividualCount in interface IPopulation<T extends IIndividual<T>>public void setInitIndividualCount(int individualCount)
IPopulation
setInitIndividualCount in interface IPopulation<T extends IIndividual<T>>individualCount - Number of init individuals.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||